iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0
自我挑戰組

我只是想自動執行 Ansible ,一定要用 Jenkins 嗎系列 第 3

Simple Build Flow 的系統架構 續

  • 分享至 

  • xImage
  •  

書接上回,覺得昨天有件事沒說得清楚,
所謂的 底層邏輯 應該只能用一句話總結,
那軟體自動化的底層邏輯,
就是「等待某個事件觸發,然後完成一系列指定的工作」,
Ansible 本身可以很好的完成指定的工作,
而 Ansible AWX 則是做好等待觸發這件事

不過說到這,
我理想中的 CI server for GitOps,
應該要是以 webhook 為核心元件,
dashboard 應該以 ListView 呈現所有 webhook 的狀態,
active/inactive、上次觸發時間、觸發條件…etc,
然後同樣一支 webhook 可以掛一個或多個 playbook,
就我用過的 CI server portal 中,

  • 老爺爺 Jenkins :原生沒有 webhook,需要 plugin,plugin 裝起來又需要特別注意與主程式的版號需相容
  • Gitlab CI:這種要 commit code 才能執行 yaml 的 CI,真的對 Infra as Code 的測試很不友善…
  • Ansible AWX:原生有支援 Github、Gitlab 的 webhook,但不是以 webhook 為核心,而是以 template 為核心
    這部分後面細說

簡單說一下各個部件在幹嘛用的,
當然是從 RD 視角,
最大的差別就是我們最多只處理到 staging,
至於上 production,
不是技術上做不到,
而且那通常會有專職 DevOps 處理,
畢竟 production 環境通常是需要 on-call 的…不在其位不謀其政

  • PC/laptop:主要都裝一些有 GUI 的軟體,或是最重要的謀生工具:M$ Power Point
  • Bunker 跳板機:通常 IT 都會規劃 vlan 做 network layer 的隔離,至於具體在什麼環境要隔幾層,要看團隊
  • Dev machine:通常就是 Linux Cluster,有資源的團隊就給你自己一個獨立 VM 抱歉我待的團隊好像都沒啥資源
  • SCM:Source Code Managment,就 Git 及其 web portal,列一些用過的,Gerrit、Gitlab、Github、BitBucket、Gitea、Phabricator...
  • CI web portal:Jenkins、Ansible AWX

大概醬紫,明天應該可以進入套件安裝(?)


上一篇
Simple Build Flow 的系統架構
下一篇
快速開一台自己的雲端主機
系列文
我只是想自動執行 Ansible ,一定要用 Jenkins 嗎30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言